# 作者：一只牛吗
# 2025 年01月 18日 05时 06分 00秒
# 1278599690@qq.com
# 2.自己定义变量赋值不同的数据类型并打印，并使用type
def type_test():
    number = 1
    string = 'hello'
    IEEE754 = 1.234
    boolean = True
    print(number, string, IEEE754, boolean)
    print(type(number), type(string), type(IEEE754), type(boolean))


type_test()

print("-" * 50)


# 3.能够将整型转为不同进制，进行输出（与上课一致）
def change_int_type():
    number1 = 123
    print(bin(number1))
    print(oct(number1))
    print(hex(number1))


change_int_type()

print("-" * 50)


# 4.实现从1到100之间的奇数求和
def sum_odd_num():
    sum = 0
    for i in range(1, 101, 2):
        sum += i
    print(sum)


sum_odd_num()


# 5.打印九九乘法表（直接百度乘法表图像，与其一致即可）
def multiple_table():
    for i in range(1, 10, 1):
        print('\n')
        print('-' * (3 * i))
        for j in range(1, i + 1, 1):
            print(i * j, end='|')


multiple_table()
print('\n')
print("-" * 50)

# 6.统计一个整数对应的二进制数的1的个数。输入一个整数（可正可负，负数就按64位去遍历即可）， 输出该整数的二进制包含1的个数（使用位运算）
def one_in_bin():
    num = int(input("请输入一个整数："))
    count = 0
    if num < 0:
        num = (1 << 64) + num
    while num:
        count += num & 1
        num >>= 1
    print("该整数的二进制包含1的个数为：", count)


one_in_bin()
